import { computed, defineComponent, h } from 'vue';
import { useJVxeComponent, useJVxeCompProps } from '/@/components/jeecg/JVxeTable/src/hooks/useJVxeComponent';
export default defineComponent({
    name: 'JVxeSlotCell',
    props: useJVxeCompProps(),
    setup(props) {
        const data = useJVxeComponent(props);
        const slotProps = computed(() => {
            return {
                value: data.innerValue.value,
                row: data.row.value,
                column: data.originColumn.value,
                params: props.params,
                $table: props.params.$table,
                rowId: props.params.rowid,
                index: props.params.rowIndex,
                rowIndex: props.params.rowIndex,
                columnIndex: props.params.columnIndex,
                scrolling: props.renderOptions.scrolling,
                reloadEffect: props.renderOptions.reloadEffect.enabled,
                triggerChange: (v) => data.handleChangeCommon(v),
            };
        });
        return () => {
            let { slot } = props.renderOptions;
            if (slot) {
                return h('div', {}, slot(slotProps.value));
            }
            else {
                return h('div');
            }
        };
    },
    // 【组件增强】注释详见：JVxeComponent.Enhanced
    enhanced: {
        switches: {
            editRender: false,
        },
    },
});
